package cn.tedu.review;
/*本类用于复习匿名内部类*/
//匿名内部类没有名字,通常与匿名对象结合在一起使用
public class TestInner1 {
    public static void main(String[] args) {
        //2.创建的是普通类的匿名对象+调用方法
        //匿名对象只能使用一次,一次只能调用一个方法
        new Inter1().eat();//创建第1个匿名对象
        new Inter1().play();//创建第2个匿名对象

        //4.创建抽象类对应的匿名对象new Inter2() + 匿名内部类(匿名对象){ 实现了的抽象类的方法 }+调用匿名内部类实现的方法 : hidden/potential info
        //当匿名内部类实现了方法后,就可以调用方法了
        new Inter2() {
            @Override
            public void get() {
                System.out.println("匿名内部类来实现这个抽象方法");
            }
        }.get();

        //6.创建接口匿名对象
        //匿名对象+匿名内部类+调用方法
        new Inter3() {  //Inter3可以是抽象类或者接口  (看上去是接口3的匿名对象,实际是接口的实现类的匿名对象)
            @Override
            public void add() {
                System.out.println("添加方法");
            }
            @Override
            public void delete() {}
        }.add();
    }
}
//1.创建一个普通类
class Inter1{
    public void eat(){
        System.out.println("再忙也要吃早饭哦~");
    }
    public void play(){
        System.out.println("玩代码~");
    }
}
//3.创建抽象类
abstract class Inter2{
    public void show(){
        System.out.println("抽象类的普通方法");
    }
    public abstract void get();
}
//5.创建接口
interface Inter3{
    void add();//新增方法
    void delete();
}







